
********************************
■■■■
■ ■ ■ ■
■ ■■■ ■■■
■ ■ ■ ■
■■■■
〜基礎から ★ C++Programing〜
********************************
【注意】 このマガジンは、最大化してお読みください。
また、等角フォントでお読みください。
(MS ゴシックなど)
********************************
発行者 むーくん
マガジンNO. 50
発行日 2001/1/21
講読人数 2000名ぐらい
マガジンID 0000050494
このマガジンは、まぐまぐから配信されています。
********************************
★あいさつ★
第一号からほとんどレイアウトを変えずにやって参りました。
さぼってるのではなく、結構このレイアウトを気に入っているのです。
皆さんはどのようにお感じですか?
ご意見などお待ちしています。
********************************
■■■===============================================■■■
インターネットって一体何??
うまく使えばとっても便利なツールなの。
とりあえず、愛車の無料診断してみたら?
→→→ http://www.meru-click.com/?980522203b1355a140t01
********************************
★目次★
・例題4−1
・例題4−2
・用語説明
・予告
********************************
★例題4−1★
・テレビのリモコンのようなプログラムを作成せよ。
但し、数字を入力させ、対応するテレビ局名を表示します。
/************************
** リモコン(東京版) **
** 2001/1/22 **
***********************/
#include<iostream>
using namespace std;
int main(void){
int channel;
cout << "チャンネル番号を入力してください >> ";
cin >> channel;
if(channel == 1){
cout << "NHK総合" << endl;
}
if(channel == 3){
cout << "NHK教育" << endl;
}
if(channel == 4){
cout << "日本テレビ" << endl;
}
if(channel == 6){
cout << "TBS" << endl;
}
if(channel == 8){
cout << "フジテレビ" << endl;
}
if(channel == 10){
cout << "テレビ朝日" << endl;
}
if(channel == 12){
cout << "テレビ東京" << endl;
}
return 0;
}
非常に単純ですが、要は、数字がイコールの部分のみ実行され、
一致しなければ、何も表示されないプログラムです。
「イコール」は、「=」ではダメなので、注意してください。
※エラーメッセージが出ないので、大変気付きにくいエラーです!
********************************
★例題4−2★
足し算の問題を出して、それが正解なら「おめでとう!」を、
不正解なら、答えを表示するプログラムを作成しなさい。
但し、2桁の計算とします。
(ついでに、乱数の作り方も学びます)
/************************
** 足し算作成機ver1.0 **
** 2001/1/22 **
***********************/
#include<iostream>
#include<cstdlib> /*乱数のため*/
#include<ctime> /*乱数のため*/
using namespace std;
int main(void){
int a, b, answer;
srand( time(NULL) ); /*乱数の種を設定*/
a = rand();
b = rand(); /*乱数を出す(この時点では、0〜32767程度)*/
a = a % 100;
b = b % 100; /*100で割った余りを求めると、2桁になる*/
cout << a << " + " << b << " = ";
cin >> answer;
if( answer == (a + b) ){
cout << "おめでとう!正解です!!" << endl;
}
if( !(answer == (a + b)) ){
cout << "残念。はずれです。" << endl;
cout << "正解は、" << a+b << " です。" << endl;
}
return 0;
}
<cstdlib>と<ctime>は、乱数を求めるために必要です。
srand( time(NULL) );
は、乱数の種(初期値)を設定するための決まり文句
みたいなものです。そのように考えてください。
具体的には、時間によって、違う値が出るようにしてあります。
a = a % 100;
はいいでしょうか?
乱数は、0〜32767程度の値です。
これでは、2桁にならないので、余りをうまく使っているわけです。
例えば、4で割った余りなら、必ず3以下ですよね?
後は、if文をうまく使って、正解と不正解を分岐させています。
********************************
★用語説明★
乱数
でたらめな値のこと。
rand();という関数で求められる。
ゲームなどに好んで使われます。
これを使うと、意図的にいつも違う動作ができるのです。
********************************
★予告★
今回のプログラムで、不自由を感じなかったでしょうか?
特に、4−2では、「〜でないとき」というのが、指定できれば、
同じような条件文を2度も書かなくて済んだのに・・・
また、4−1でも、「全てと一致しないとき」、という場合を
指定したかったでしょう。
次回は、「else」を使って、成立、不成立をもっと簡単に分岐できる
ようにしましょう!!
********************************
・‥‥…━━━━━━━★ アコム Master Card ★━━━━━━━…‥‥‥・
▼ 即時発行 ▼ 年会費無料 ▼ 年中無休・24時間オープン ▼
▼簡単!便利!利用明細がネットで確認 ▼支払い時に払い方を決められる ▼
★使ってうれしい豪華旅行プレゼントキャンペーン実施中!★
http://www.meru-click.com/?980522203b1355a151t01
********************************
講読解除はこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html
バックナンバーはこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html
内容について質問やご意見など
smukun@hotmail.com
筆者のWebサイト(むーくんの理学的なんでも講座)
http://members.tripod.co.jp/mukun_mmg/
************************************